package com.islewars.client.service;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.islewars.client.dto.ChatLineDto;
import com.islewars.client.dto.GameDto;
import com.islewars.client.dto.MountainDto;
import com.islewars.client.dto.PlayerDto;


public interface GameServiceAsync {
	void login(String username, AsyncCallback<Boolean> callback);

	void getPlayers(AsyncCallback<List<String>> callback);

	void say(String player, String text, AsyncCallback<Void> callback);

	void getChat(AsyncCallback<List<ChatLineDto>> callback);

	void getGames(AsyncCallback<List<GameDto>> callback);

	void createGame(PlayerDto creator, String gameName, List<MountainDto> mountainDtos, AsyncCallback<Boolean> callback);

	void joinGame(PlayerDto joinPlayer, String gameName, AsyncCallback<GameDto> callback);

	void deleteGame(PlayerDto player, String gameName, AsyncCallback<Boolean> callback);
}
